Added a new Xen-API call VM.send_sysrq, and use that to implement xm sysrq
authorEwan Mellor <ewan@xensource.com>
Thu, 15 Mar 2007 21:59:34 +0000 (21:59 +0000)
committerEwan Mellor <ewan@xensource.com>
Thu, 15 Mar 2007 21:59:34 +0000 (21:59 +0000)
through Xen-API.

Signed-off-by: Tom Wilkie <tom.wilkie@gmail.com>
tools/python/xen/xend/XendAPI.py
tools/python/xen/xm/main.py

index 7d3e29e6938cb9040844b6233549b70c1367c9a6..10024070a934040c2e1acd16b31339aa914f0ec2 100644 (file)
@@ -1070,6 +1070,7 @@ class XendAPI(object):
                   ('hard_reboot', None),
                   ('suspend', None),
                   ('resume', None),
+                  ('send_sysrq', None),
                   ('add_to_HVM_boot_params', None),
                   ('remove_from_HVM_boot_params', None),
                   ('add_to_VCPUs_params', None),
@@ -1513,6 +1514,12 @@ class XendAPI(object):
         return XendTask.log_progress(0, 100, do_vm_func,
                                      "domain_unpause", vm_ref)
 
+    def VM_send_sysrq(self, _, vm_ref, req):
+        xendom = XendDomain.instance()
+        xeninfo = xendom.get_vm_by_uuid(vm_ref)
+        xeninfo.send_sysrq(req)
+        return xen_api_success_void()
+
     # Xen API: Class VM_metrics
     # ----------------------------------------------------------------
 
index 5003ef16fef9779af4e3dacb35f330cf0fe167f3..ba1192e6c45583bb77071ba2e01635ddfc77bf48 100644 (file)
@@ -1466,7 +1466,10 @@ def xm_sysrq(args):
     arg_check(args, "sysrq", 2)
     dom = args[0]
     req = args[1]
-    server.xend.domain.send_sysrq(dom, req)    
+    if serverType == SERVER_XEN_API:
+        server.xenapi.VM.send_sysrq(get_single_vm(dom), req)
+    else:
+        server.xend.domain.send_sysrq(dom, req)
 
 def xm_trigger(args):
     vcpu = 0